#ifndef SYSTEM_H
#define SYSTEM_H

#include <Windows.h>
#include "CInput.h"
#include "CGraphic.h"

class CSystem
{
public:
    CSystem();
    ~CSystem();
    bool Initialize();
    void Run();
    void Shutdown();

    LRESULT CALLBACK MessageHandler(HWND, UINT, WPARAM, LPARAM);

private:
    bool Frame();
    void InitializeWindows(int&, int&);
    void ShutdownWindows();

    LPCWSTR m_applicationName;
    HINSTANCE m_hinstance;
    HWND m_hwnd;

    CInput* m_input;
    CGraphic* m_graphic;
};

static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
static SystemClass* ApplicationHandle = 0;
#endif